The present invention relates to databases and, more particularly, to providing a cascade feature for a database program which can serve as an interface to a database.
Databases are used to store data in a manner that facilitates subsequent use of the data. Typically, a database includes several tables containing one or more records. A record in a table stored in the database can hold information about a subject or item in its various fields.
To allow a user to more easily access and manage data stored in databases, database programs have been developed. Database programs, among other things, often provide a user interface which allows the user to conveniently interact with the database program in order to perform various operations on the data stored in the database. The interface provided by the database program is typically a graphical user interface which allows the user to conveniently interact with the database program and, in turn, with the database. The user may interact with the graphical user interface to, for example, view the data in various ways. The visual representations provided to the user can include, for example, a browse mode. The browse mode allows records to be viewed, changed, sorted, deleted, or added.
FIG. 1 is a representative screen depiction of a database program, namely, FileMaker Pro 4.0 by FileMaker Pro, Inc. of Santa Clara, Calif. The screen depiction pertains to an asset management database having three records. A browse mode for the first record of the asset management database is depicted. The browse mode is suitable for on-line or screen viewing of the records of the asset management database and allows the records to be viewed or deleted. The data in the fields of the record can be changed, sorted, deleted or added in the browse mode.
As noted above, a database program allows users to conveniently access data stored in a local database. It should be noted that the database program may also provide the capability to access data that is stored in a remote location. For example, the database program can be connected to another database program over a computer network. In this situation, one database program can act as a “client” (or guest) and establish a connection to the other database program “server” (or host). The client database program can, in turn, provide the user with access to data which is stored remotely.
In addition, a database program can provide many other useful features. One useful feature can be referred to as the “cascade create” option. The “cascade create” option allows users to enter data into a non-existent related record (i.e., a record that has not been created in the database, but should be in order to maintain or establish a relationship between data). This means that the database program can automatically create the required record and enter data for the user. However, it should be noted that creation of a new record, among other things, may require establishing appropriate relationships between the new record and one or more related records. This means providing a cascade create is difficult to achieve for more complex data models. In other words, conventional database programs do not provide a mechanism for creating and populating related records for arbitrary data relationships and/or situations. By way of example, conventional database programs do not provide a “cascade create” option if the non-existing record is related to two or more tables and there is a need to propagate data between a parent, intermediate, and a child table.
Accordingly, improved techniques for providing a “cascade create” mechanism for database programs are needed.